#ifndef DENUMENTITY_H
#define DENUMENTITY_H

#include "dabstractentity.h"

class DEnumEntity : public DAbstractEntity
{
	typedef long EnumType;
	typedef QList<QPair<QString /*param*/, EnumType /*value*/> > ParameterList;
	Q_OBJECT

public:
	DEnumEntity(QObject *parent = 0);
	~DEnumEntity();

	void		addParam(const QString& name, EnumType* pValue);
	bool		removeParam(const QString& name);
	const		ParameterList& params() const;
	void		removeAll();
	void		setParamValue(const QString& name, EnumType value);
	EnumType	param(const QString& name);
	int			count() const;

	QString		toString() const;
private:
	ParameterList	m_params;
};

#endif // DENUMENTITY_H
